package estadosUsuario;

import java.util.Calendar;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;

import notas.Nota;

import callForPapers.CallForPaper;
import callForPapers.Paper;
import estadosPaper.Estado;

import sistema.AreaDeInteres;
import sistema.Usuario;

public abstract class EstadoUsuario {
	
	public void crearCallForPaper(String nombre, Calendar fechaTopeDePresentacion,
			Calendar fechaTopeRevision, Set<AreaDeInteres> areasDeInteres, Usuario usuario ) {
		try {
			throw new Exception("Por favor loguearse");
		} catch (Exception e) {
			e.getMessage();
		}
	}

	public void crearCallForPaper(String nombre, Calendar fechaTopeDePresentacion,
			Calendar fechaTopeRevision, AreaDeInteres areasDeInteres, Usuario usuario ) {
		try {
			throw new Exception("Por favor loguearse");
		} catch (Exception e) {
			e.getMessage();
		}
	}
	
	public List<Usuario> filtrarRevisoresPorAfinidad(CallForPaper callForPaper){
		try {
			throw new Exception("Por favor loguearse");
		} catch (Exception e) {
			e.getMessage();
		}
		return null;
	}
	
	public Map<String, Set<CallForPaper>> verAsignacionesACFP(Usuario usuario){
		try {
			throw new Exception("Por favor loguearse");
		} catch (Exception e) {
			e.getMessage();
		}
		return null;
	}

	public void agregarRevisor(Usuario usuario, CallForPaper cfp) {
		try {
			throw new Exception("Por favor loguearse");
		} catch (Exception e) {
			e.getMessage();
		}
	}
	
	public void calificarPaper(Paper paper, String comentario, Nota nota) {
		try {
			throw new Exception("Por favor loguearse");
		} catch (Exception e) {
			e.getMessage();
		}
	}
	
	public Map<String,String> verNotasYComentarios(Paper paper){
		try {
			throw new Exception("Por favor loguearse");
		} catch (Exception e) {
			e.getMessage();
		}
		return null;
	}

	public List<Paper> verPapersComoRevisor(CallForPaper cfp, Usuario usuario){
		try {
			throw new Exception("Por favor loguearse");
		} catch (Exception e) {
			e.getMessage();
		}
		return null;
	}
	
	public Map<Paper,Estado> verPapersYEstadosComoAutor(CallForPaper cfp,Usuario usuario){
		
		try {
			throw new Exception("Por favor loguearse");
		} catch (Exception e) {
			e.getMessage();
		}
		
		return null;
		
	}
	

	public void desLoguerse(Usuario usuario) {
			
	}

	public void loguearse(String nombre, String password) {
		
		
	}
	
	
}